package com.campus.activity.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.campus.activity.entity.Organizer;

import java.util.List;

/**
 * 组织者服务接口
 * 
 * @author System
 * @since 2024
 */
public interface OrganizerService extends IService<Organizer> {

    /**
     * 添加组织者
     * 
     * @param organizer 组织者信息
     * @return 是否成功
     */
    boolean addOrganizer(Organizer organizer);

    /**
     * 更新组织者信息
     * 
     * @param organizerId 组织者ID
     * @param organizer 组织者信息
     * @return 是否成功
     */
    boolean updateOrganizer(Integer organizerId, Organizer organizer);

    /**
     * 删除组织者
     * 
     * @param organizerId 组织者ID
     * @return 是否成功
     */
    boolean deleteOrganizer(Integer organizerId);

    /**
     * 根据姓名模糊查询组织者
     * 
     * @param organizerName 组织者姓名
     * @return 组织者列表
     */
    List<Organizer> getOrganizersByName(String organizerName);

    /**
     * 根据联系方式查询组织者
     * 
     * @param contactInfo 联系方式
     * @return 组织者信息
     */
    Organizer getOrganizerByContact(String contactInfo);

    /**
     * 检查联系方式是否存在
     * 
     * @param contactInfo 联系方式
     * @return 是否存在
     */
    boolean isContactExists(String contactInfo);

    /**
     * 获取所有组织者列表
     * 
     * @return 组织者列表
     */
    List<Organizer> getAllOrganizers();
}